FIG. 1 is a diagram showing an outline of a distributed processing system which communicates with other distributed processing devices via a network connected with a transmission medium such a LAN cable. As an example, four distributed processing devices of a distributed processing device 100, a distributed processing device 200, a distributed processing device 300 and a distributed processing device 400 are connected in FIG. 1.
In the distributed processing system shown in FIG. 1, the distributed processing devices cooperate, and transmit event data to the distributed processing device which should process the event data. A distributed processing device of a transmission destination processes the transmitted event data. In order to transmit to other distributed processing devices, the distributed processing device stores the addresses of several other distributed processing devices. When transmitting the event data, the distributed processing device determines an address which becomes a destination of the event data from the stored address group following a predetermined procedure so that the distributed processing device which should process the event data finally may be reached.
Further, event data is data which is generated every moment by an external system of a distributed processing system and processed with an application built on the distributed processing system. Specifically, event data is data which generates in large quantities from devices such as RFID (Radio Frequency IDentification) including a non-contact IC card and a sensor, and for example, is position information or the like sent periodically from a cellular phone.
Non-patent document 1 discloses a method for performing routing efficiently in a structured P2P (Peer-to-Peer) network. In a routing algorithm (it is called as “Chord” hereinafter.) described in non-patent document 1, a distributed processing device makes a value (key) of m bit length an identifier (distributed processing device ID). Event data is processed with a successor of the hash value (key). A successor of key k is a distributed processing device which makes the value with the smallest distance from key k among distributed processing devices which constitute a distributed processing system an identifier. Further, a distributed processing device which makes the value with the largest distance from key k an identifier is called a predecessor of key k contrary to the successor.
It is common that there is bias in the value for event data processed by a distributed processing system. For example, when position information is sent periodically as event data from a portable terminal which a person carries, position information on an area where a person crowds increases compared with position information on an area which is not so. By the bias of the event data value, a bias also generates about a key generated from there.
The processing load (CPU load) of the event data in a distributed processing device is proportional to the number of the event data which should be processed. On the other hand, the volume of data (network load) that a transmission medium between the distributed processing device and the network is carrying is proportional to the sum of the number of the event data which should be transmitted and the number of the event data which should be processed.
Non-patent document 2 discloses an algorithm for equalizing a CPU load or network load by “3. ITEM BALANCING”. A method of non-patent document 2 changes the distributed processing device ID so that a load of each distributed processing device may become equal.